package com.wx.algorithm.sort;

import com.wx.ArrayUtils;

/**
 * @ClassName SimpleInsertionSort
 * @Author wx
 * @Description 代码简化版插入排序
 *  时间复杂:O(n2)||有序O(n)
 *  空间复杂:O(1)
 * @Date 2020-03-25-22:33
 */
public class SimpleInsertionSort {


    public static void sort(int[] array) {

        if (ArrayUtils.arrayValidation(array)) {
            return;
        }
        for (int i = 1; i < array.length; i++) {
            for (int j = i; j > 0 && array[j] < array[j - 1]; j--) {
                ArrayUtils.swop(array, j, j - 1);
            }
        }
    }

    public static void main(String[] agrs) {
        //对数验证
        ArrayUtils.logarithmicRun(10000,50,10,SimpleInsertionSort::sort);
    }

}
